Лабораторна робота №2
ПРОГРАМУВАННЯ БІЖУЧОГО РЯДКА З ВИКОРИСТАННЯМ МІКРОКОНТРОЛЕРА AVR
Мета роботи: набути навичок програмування мікроконтролерів AVR. Закріпити вміння програмування мікроконтролерів на прикладі програмування біжучого рядка.
Теоретичні відомості
АVR – це нове сімейство 8-розрядних RISC-мікроконтролерів фірми Atmel. Ці мікроконтролери дозволяють вирішувати безліч задач вбудованих систем. Вони відрізняються від інших розповсюджених у даний час мікроконтролерів більшою швидкістю роботи, більшою універсальністю. Швидкодія даних мікроконтролерів дозволяє в ряді випадків застосовувати їх у пристроях, для реалізації яких раніше можна було застосовувати тільки 16-розрядні мікроконтролери, що дозволяє відчутно знизити ціну готової системи. Крім того, мікроконтролери АVR дуже легко програмуються – найпростіший програматор можна виготовити власноруч протягом 30 хвилин.
За заявою фірми-виробника мікроконтролерів (www.atmel.com) мікроконтролери сімейства АVR можна перепрограмувати до 1000 разів, причому безпосередньо в зібраній схемі. Все це робить мікроконтролери АVR дуже привабливими для створення нових розробок.
Фірма Atmel випускає великий спектр 8-розрядних мікроконтролерів, серед яких сімейство АТ89 з вбудованою програмованою флеш-пам’яттю та мікроконтролери сімейства АТ90 на базі поліпшеної RISC архітектури.
Заслуговують на увагу нові мікроконтролери сімейств ATtiny і АТMЕGА на базі AVR архітектури.
Крім того, що мікроконтролери сімейства ATtiny мають зменшений обсяг вбудованої флеш-пам’яті (від 1 до 2 кбайт), у кожній модифікації випускаються три версії, що відрізняються напругою живлення і тактовою частотою. Наприклад, версії ATtiny12 мають діапазон тактової частоти від 0 до 1 Мгц, від 0 до 4 Мгц і 0 до 8 Мгц відповідно при напрузі живлення від 1,8 до 5,5 В, від 2,7 до 5,5 В і від 4,0 до 5,5 В. Тільки ATtiny22 має RAM-пам'ять даних обсягом 128 байт. У ATtiny15 реалізований 10-розрядний АЦП (4 канали). Деякі модифікації ATtiny мають вбудовану систему перезапуску при зниженні напруги живлення.
Основна відмінність мікроконтролерів АТMЕGА (АТMЕGА83/103/161/ 163) – збільшений обсяг вбудованої пам'яті (АТMЕGА 103 має 128 кбайт флеш-пам’яті і 4 кбайта RAM-пам'яті) і розширений набір периферійних пристроїв. Як і в ATtiny, у модифікаціях АТMЕGА передбачені версії з різною тактовою частотою і напругою живлення. При діапазоні напруги живлення від 2,7 до 3,6 В і від 4,0 до 5,5 В діапазон тактових частот складає відповідно від 0 до 4 Мгц і від 0 до 6 Мгц.
Розглянемо більш детально один з мікроконтролерів сімейства ATMEGA, а саме ATMEGA 16, який і пропонується використовувати в лабораторній роботі.
Основні характеристики мікроконтролера ATMEGA 16:
AVR RISC-архітектура – архітектура високої продуктивності та малого споживання;
система команд містить 130 інструкцій, більшість яких виконується за один машинний цикл;
єдиний 16-розрядний формат команд;
продуктивність 16 MIPS на частоті 16 Мгц;
наявність апаратного помножувача;
16 Кбайт Flash ПЗУ програм, з можливістю до 1000 циклів стирання/запису;
512 байт EEPROM даних, з можливістю до 100000 циклів стирання/запису;
1 Кбайт оперативної пам'яті (SRAM);
можливість програмування безпосередньо в цільовій системі через послідовні інтерфейси SPI і JTAG;
можливість самопрограмування;
можливість внутрішньосхемного налагодження у відповідності зі стандартом IEEE 1149.1 (JTAG);
різні способи синхронізації;
режим зниженого енергоспоживання;
детектор зниження напруги живлення;
програмне зниження частоти тактового генератора;
21 джерело переривань (внутрішніх і зовнішніх);
багаторівнева система переривань, підтримка черги переривань;
можливість захисту від несанкціонованого читання та модифікації пам'яті програм і даних;
можливість читання пам'яті програм під час її запису;
два 8-розрядних таймера/лічильника;
сторожовий таймер WDT;
чотири канали генерації вихідних шим-сигналів;
аналоговий компаратор;
8-канальний 10-розрядний АЦП як з несиметричними, так і з диференціальними входами;
повнод...